package com.kongwg.java;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * * jdk 8之前的日期时间的API测试
 *  * 1. System类中currentTimeMillis();
 *  * 2. java.util.Date和子类java.sql.Date
 *  * 3. SimpleDateFormat
 *  * 4. Calendar
 *
 * @author kongwg
 * @create 2020-12-08 12:14
 */
public class DateTimeTest {
    /*
    SimpleDateFormat的使用：SimpleDateFormat对日期Date类的格式化和解析

    1.两个操作：
    1.1 格式化：日期 --->字符串
    1.2 解析：格式化的逆过程，字符串 ---> 日期

    2.SimpleDateFormat的实例化

     */

    @Test
    public void test1() throws ParseException {
        //  1.1 格式化：日期 --->字符串
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date date = new Date();
        String date1 = sdf.format(date);
        Date parse = sdf.parse("2020-12-08 12:19:50");
        System.out.println(date);
        System.out.println(date1);
        System.out.println(parse);
    }

     /*
    练习一：字符串"2020-09-08"转换为java.sql.Date

    练习二："三天打渔两天晒网"   1990-01-01  xxxx-xx-xx 打渔？晒网？

    举例：2020-09-08 ？ 总天数

    总天数 % 5 == 1,2,3 : 打渔
    总天数 % 5 == 4,0 : 晒网

    总天数的计算？
    方式一：( date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24) + 1
    方式二：1990-01-01  --> 2019-12-31  +  2020-01-01 -->2020-09-08
     */
    @Test
    public void test2() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //将时间转换成date格式
        Date parse = sdf.parse("2020-09-08");

        System.out.println(parse);
        //用parse.getTime()方法将日期转换成时间戳放进java.sql.Date的构造器中
        java.sql.Date date1 = new java.sql.Date(parse.getTime());

        System.out.println(date1);

    }
}
